package 剑指offer;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

public class _32从上到下打印二叉树2 {
	public static void main(String[] args) {
		LinkedList<Integer> list=new LinkedList<Integer>();
		
		list.addFirst(2);
		list.add(1);
		list.addLast(3);
		
		list.add(4);
		System.out.println(list);
	}
	
    public List<List<Integer>> levelOrder(TreeNode root) {
    	if(root==null) return new ArrayList<List<Integer>>();
    	Queue<TreeNode> queue=new LinkedList<TreeNode>();
    	List<List<Integer>> list=new ArrayList<List<Integer>>();
    	queue.add(root);
    	while(!queue.isEmpty()) {
    	ArrayList<Integer> list2=new ArrayList<Integer>();
    	for (int i = queue.size(); i >0 ; i--) {
			TreeNode node =queue.poll();
			list2.add(node.val);
			if(node.left!=null) queue.add(node.left);
			if(node.right!=null) queue.add(node.right);
		}
    	list.add(list2);
    	}
    	return list;

    }

}
